home *** CD-ROM | disk | FTP | other *** search
/ 500 MB Nyheder Direkte fra Internet 2 / 500 MB nyheder direkte fra internet CD 2.iso / start / data / text / faq-0534.txt < prev    next >
Text File  |  1995-05-08  |  67KB  |  1,655 lines

  1. Archive-name: free-compilers/part4
  2. Last-modified: 1995/05/04
  3. Version: 8.0
  4.  
  5. concurrent, parallel, and simulation languages
  6. -------------------------------------------------------------------------------
  7. category:    concurrent, parellel, and simulation languages
  8. description:    This is a fairly broad category of languages.  Most of the
  9.         implementations in this set are not good enough to be used in
  10.         production systems.  Some are.    In addition to those listed
  11.         below, see:
  12. lref:        Concurrent Clean
  13. lref:        Concurrent ML
  14. lref:        EuLisp
  15. lref:        Parallaxis
  16. lref:        Maisie
  17. lref:        uC++
  18. lref:        MeldC
  19. lref:        pm2
  20. lref:        Simula 67
  21. iref:        (Tcl) MTtcl - Multi-threaded Tcl
  22.  
  23. language:    ABCL/1 (An object-Based Concurrent Language)
  24. package:    ABCL/1 
  25. version:    ?
  26. parts:        ?
  27. author:        Akinori Yonezawa, ABCL Group now at Department of Information 
  28.         Science, the University of Tokyo
  29. location:    ftp pub/abcl1/* from camille.is.s.u-tokyo.ac.jp
  30. description:    Asynchronous message passing to objects.  
  31. reference:    "ABCL: An Object-Oriented Concurrent System", Edited by 
  32.         Akinori Yonezawa, The MIT Press, 1990, (ISBN 0-262-24029-7)
  33. restriction:    no commercial use, must return license agreement
  34. requires:    Common Lisp
  35. contact:    abcl@is.s.u-tokyo.ac.jp
  36. updated:    1990/05/23
  37.  
  38. language:    ABCL ???
  39. package:    ABCL/R2
  40. version:    ?
  41. parts:        ?
  42. author:        masuhara@is.s.u-tokyo.ac.jp, matsu@is.s.u-tokyo.ac.jp,
  43.         takuo@is.s.u-tokyo.ac.jp, yonezawa@is.s.u-tokyo.ac.jp
  44. location:    ftp pub/abclr2/* from camille.is.s.u-tokyo.ac.jp
  45. description:    ABCL/R2 is an object-oriented concurrent reflective language
  46.         based on Hybrid Group Architecture.  As a reflective language,
  47.         an ABCL/R2 program can dynamically control its own behavior,
  48.         such as scheduling policy, from within user-program.  An an
  49.         object-oriented concurrent language, this system has almost all
  50.         functions of ABCL/1.
  51. requires:    Common Lisp
  52. updated:    1993/01/28
  53.  
  54. language:    ALLOY
  55. package:    ALLOY
  56. version:    2.0?
  57. parts:        interpreter, documentation, examples
  58. author:        Thanasis Mitsolides <mitsolid@cs.nyu.edu>
  59. location:    ftp pub/local/alloy/* from cs.nyu.edu
  60. description:    ALLOY is a higher level parallel programming language
  61.         appropriate for programming massively parallel computing
  62.         systems.  It is based on a combination of ideas from
  63.         functional, object oriented and logic programming languages.
  64.         The result is a language that can directly support
  65.         functional, object oriented and logic programming styles
  66.         in a unified and controlled framework.    Evaluating modes
  67.         support serial or parallel execution, eager or lazy
  68.         evaluation, non-determinism or multiple solutions etc.
  69.         ALLOY is simple as it only requires 29 primitives in all
  70.         (half of which for Object Oriented Programming support).
  71. ports:        sparc, ?
  72. updated:    1991/06/11
  73.  
  74. language:    Cellang (Cellular Automata)
  75. package:    Cellular
  76. version:    2.0
  77. parts:        byte-code compiler, runtime, viewer
  78. author:        J Dana Eckart <dana@rucs.faculty.cs.runet.edu>
  79. location:    comp.sources.unix, volume 26
  80. description:    A system for cellular automata programming.
  81. updated:    1993/04/03
  82.  
  83. language:    Hermes
  84. package:    IBM Watson prototype Hermes system
  85. version:    0.8alpha patchlevel 01
  86. parts:        bytecode compiler, compiler(bytecode->C), runtime
  87. author:        Andy Lowry <lowry@watson.ibm.com>
  88. location:    ftp pub/hermes/README from software.watson.ibm.com
  89. description:    Hermes is a very-high-level integrated language and
  90.         system for implementation of large systems and
  91.         distributed applications, as well as for
  92.         general-purpose programming.  It is an imperative,
  93.         strongly typed, process-oriented language.  Hermes
  94.         hides distribution and heterogeneity from the
  95.         programmer.  The programmer sees a single abstract
  96.         machine containing processes that communicate using
  97.         calls or sends.     The compiler, not the programmer,
  98.         deals with the complexity of data structure layout,
  99.         local and remote communication, and interaction with
  100.         the operating system.  As a result, Hermes programs are
  101.         portable and easy to write.  Because the programming
  102.         paradigm is simple and high level, there are many
  103.         opportunities for optimization which are not present in
  104.         languages which give the programmer more direct control
  105.         over the machine.
  106. reference:    Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Hermes: A
  107.          Language for Distributed Computing. Prentice-Hall, Englewood
  108.          Cliffs, NJ.  1991.  ISBN: O-13-389537-8.
  109. ports:        RS6000 Sun-4 NeXT IBM-RT/bsd4.3 (Sun-3 and Convex soon)
  110. discussion:    comp.lang.hermes
  111. updated:    1992/03/22
  112.  
  113. language:    PCN
  114. package:    PCN
  115. version:    2.0
  116. parts:        compiler?, runtime, linker, libraries, tools, debugger, 
  117.         profiler, tracer
  118. author:        Ian Foster <foster@mcs.anl.gov>, Steve Tuecke
  119.         <tuecke@mcs.anl.gov>, and others
  120. location:    ftp pub/pcn/pcn_v2.0.tar.Z from info.mcs.anl.gov
  121. description:    PCN is a parallel programming system designed to improve
  122.         the productivity of scientists and engineers using parallel
  123.         computers.  It provides a simple language for specifying
  124.         concurrent algorithms, interfaces to Fortran and C, a
  125.         portable toolkit that allows applications to be developed
  126.         on a workstation or small parallel computer and run
  127.         unchanged on supercomputers, and integrated debugging and
  128.         performance analysis tools.  PCN was developed at Argonne
  129.         National Laboratory and the California Institute of
  130.         Technology.  It has been used to develop a wide variety of
  131.         applications, in areas such as climate modeling, fluid
  132.         dynamics, computational biology, chemistry, and circuit
  133.         simulation.
  134. ports:        (workstation nets): Sun4, NeXT, RS/6000, SGI
  135.         (multicomputers): iPSC/860, Touchstone DELTA
  136.         (shared memory multiprocessors): Symmetry/Dynix
  137. contact:    <pcn@mcs.anl.gov>
  138. updated:    1993/02/12
  139.  
  140. language:    LOOPN
  141. package:    LOOPN
  142. version:    ?
  143. parts:        compiler?, simulator
  144. author:        ?
  145. location:    ftp departments/computer_sci*/loopn.tar.Z from ftp.utas.edu.au
  146. description:    I wish to announce the availability of a compiler, simulator
  147.         and associated source control for an object-oriented petri net
  148.         language called LOOPN.    In LOOPN, a petri net is an extension
  149.         of coloured timed petri nets.  The extension means firstly that
  150.         token types are classes.  In other words, they consist of both
  151.         data fields and functions, they can be declared by inheriting
  152.         from other token types, and they can be used polymorphically.
  153.         The object-oriented extensions also mean that module or subnet
  154.         types are classes.  LOOPN has been developed over a period of
  155.         about 5 years at the University of Tasmania, where it has been
  156.         used in teaching computer simulation and the modelling of
  157.         network protocols.  A petri net is a directed, bipartite graph;
  158.         nodes are either places (represented by circles) or transitions
  159.         (represented by rectangles).  A net is marked by placing tokens
  160.         on places.  When all the places pointing to a transition (the
  161.         input places) have a token, the net may be fired by removing a
  162.         token from each input place and adding a token to each place
  163.         pointed to by the transition (the output places).  Petri nets
  164.         are used to model concurrent systems, particularly in the
  165.         network protocol area.
  166. contact:    Charles Lakos <charles@probitas.cs.utas.edu.au>
  167. updated:    1992/12/20
  168.  
  169. language:    Simula
  170. package:    Lund Simula
  171. version:    4.07
  172. parts:        ?
  173. author:        ?
  174. location:    ftp misc/mac/programming/+_Simula/* from rascal.ics.utexas.edu
  175. description:    ?
  176. contact:    Lund Software House AB / Box 7056 / S-22007 Lund, Sweden
  177. updated:    1992/05/22
  178.  
  179. language:    SR (Synchronizing Resources)
  180. package:    sr
  181. version:    2.0 
  182. parts:        ?, documentation, tests
  183. author:        ?
  184. location:    ftp sr/sr.tar.Z from cs.arizona.edu
  185. description:    SR is a language for writing concurrent programs.
  186.         The main language constructs are resources and
  187.         operations.  Resources encapsulate processes and
  188.         variables they share; operations provide the primary
  189.         mechanism for process interaction.  SR provides a novel
  190.         integration of the mechanisms for invoking and
  191.         servicing operations.  Consequently, all of local and
  192.         remote procedure call, rendezvous, message passing,
  193.         dynamic process creation, multicast, and semaphores are
  194.         supported.
  195. reference:    "The SR Programming Language: Concurrency in Practice", 
  196.          by Gregory R. Andrews and Ronald A. Olsson, Benjamin/Cummings 
  197.          Publishing Company, 1993, ISBN 0-8053-0088-0
  198. ports:        Sun-4, Sun-3, Decstation, SGI Iris, HP PA, HP 9000/300,
  199.         NeXT, Sequent Symmetry, DG AViiON, RS/6000, Multimax,
  200.         Apollo, and others.
  201. discussion:    info-sr-request@cs.arizona.edu
  202. contact:    sr-project@cs.arizona.edu
  203. updated:    1992/09/01
  204.  
  205. language:    UNITY
  206. package:    MasPar Unity
  207. version:    1.0
  208. parts:        translator(UNITY->MPL), documentation
  209. author:        Martin Huber, University of Karlsruhe, Germany
  210. location:    ftp pub/maspar/maspar_unity* from SanFrancisco.ira.uka.de
  211. description:    ?
  212. contact:    Lutz Prechelt <prechelt@ira.uka.de>
  213. updated:    ?
  214.  
  215. language:    UNITY
  216. package:    HOL-UNITY
  217. version:    2.1
  218. parts:        verification tool
  219. author:        ?
  220. location:    ?
  221. description:    ?
  222. contact:    Flemming Andersen <fa@tfl.dk> ?
  223. updated:    ?
  224.  
  225. Forth family languages
  226. -------------------------------------------------------------------------------
  227. category:    Forth family languages
  228. description:    These are the stack-based postfix languages, usually
  229.         interpreted, descended from the FORTH language originally
  230.         developed for telescope control.
  231. lref:        Postscript
  232. iref:        (mc6809) 6809, E-Forth
  233.  
  234. language:    Forth
  235. package:    TILE Forth
  236. version:    2.1
  237. parts:        interpreter
  238. author:        Mikael Patel <mip@sectra.se>
  239. location:    ftp tile-forth-2.1.tar.Z from a GNU archive site
  240. description:    Forth interpreter in C; many Forth libraries
  241. conformance:    Forth83
  242. restriction:    shareware/GPL
  243. ports:        unix
  244. updated:    1991/11/13
  245.  
  246. language:    Forth
  247. package:    cforth
  248. version:    ?
  249. parts:        interpreter
  250. author:        ?
  251. location:    comp.sources.unix archive volume 1
  252. description:    ?
  253. updated:    ?
  254.  
  255. language:    Forth
  256. package:    pfe (Portable Forth Environment)
  257. version:    0.9.4
  258. parts:        ?
  259. author:        Dirk Zoller <duz@roxi.rz.fht-mannheim.de>
  260. location:    ftp pub/unix/languages/pfe* from duz@roxi.rz.fht-mannheim.de
  261. description:    A Forth development system that tries to be correct,
  262.         complete, portable, usable and simple.    It doesn't try too
  263.         hard to be fast.
  264. conformance:    all dpANS word sets
  265. ports:        Linux, RS/6000, HP-UX
  266. portability:    high
  267. updated:    1994/05/02
  268.  
  269. language:    Forth
  270. package:    F68K
  271. version:    ?
  272. parts:        ?
  273. author:        ?
  274. location:    ftp atari/Languages/f68k.* from archive.umich.edu
  275. description:    a portable Forth system for Motorola 68k computers
  276. ports:        Atari ST/TT, Amiga, Sinclair QL and OS9
  277. portability:    very high for 68000 based systems
  278. contact:    Joerg Plewe <joerg.plewe@mpi-dortmund.mpg.de>
  279. updated:    1992/12/14
  280.  
  281. language:    Forth
  282. package:    51forth
  283. version:    ?
  284. parts:        ?
  285. author:        Scott Gehmlich
  286. location:    ftp giovanni/51forth.zip from [130.123.96.9]
  287. description:    source and documentation for a 8051 subroutine-
  288.         threaded forth
  289. contact:    ?
  290. updated:    1993/04/03
  291.  
  292. language:    Forth
  293. package:    M4th
  294. version:    ?
  295. parts:        interpreter, kernel, editor, application (8086 assembler),
  296.         hypertext-based documentation, decompiler
  297. author:        Nils M. Holm <fs29@rummelplatz.uni-mannheim.de>
  298. location:    ftp.uni-stuttgart.de:/pub/systems/pc/lang/forth/m4th10.zip
  299. description:    A small Forth implementation
  300. ports:        MSDOS.
  301. updated:    1994/06/28
  302.  
  303. language:    Forth
  304. package:    ThisForth
  305. version:    ?
  306. author:        ?
  307. location:    ftp pub/wilbaden/this4th-00B01.MAC.sit.* from ftp.netcom.com
  308. description:    ThisForth has been built for Macintosh and PowerMac.There is
  309.         still a single source for all incarnations. For now there is
  310.         just a console interface for the Mac and PowerMac.
  311. ports:        Macintosh, PowerMac
  312. updated:    1994/09/20
  313.  
  314. language:    Mops
  315. package:    Mops
  316. version:    2.3.1
  317. parts:        compiler, documentation, editor
  318. author:        Michael Hore <mikeh@kralizec.zeta.org.au>
  319. location:    ftp pub/Yerk/? from oddjob.uchicago.edu
  320. description:    Like Yerk, Mops is descended from the ex-commercial
  321.         object-oriented language Neon. Mops features an
  322.         optimizing native-code compiler; it is much faster
  323.         than Yerk, but less compatible with Neon. Mops
  324.         includes extensions such as multiple inheritance.
  325. ports:        Macintosh
  326. updated:    ?
  327.  
  328. language:    Kevo (Forth-like)
  329. package:    kevo
  330. version:    0.9b6
  331. parts:        interpreter, demo programs, user's guide, papers
  332. author:        Antero Taivalsaari <tsaari@cs.uta.fi>
  333. location:    ftp /pub/kevo/* from cs.uta.fi
  334. description:    Kevo is a prototype-based object-oriented language for
  335.         Macintosh Kevo features a unique prototype-based object model
  336.         (which is based neither on classes nor Self-style delegation),
  337.         multitasking (both preemptive and cooperative), dynamic memory
  338.         management, and an icon-based object browser and editor modeled
  339.         loosely after Mac Finder. Kevo has been built around a portable
  340.         threaded code interpreter, and is syntactically a close
  341.         derivative of Forth.
  342. ports:        Macintosh
  343. contact:    kevo-interest@ursamajor.uvic.ca
  344. updated:    1993/05/18
  345.  
  346. language:    Yerk
  347. package:    Yerk
  348. version:    3.62
  349. parts:        ?
  350. author:        ?
  351. location:    ftp pub/Yerk/? from oddjob.uchicago.edu
  352. description:    Yerk is an object oriented language based on a
  353.         Forth Kernel with some major modifications.  It
  354.         was originally known as Neon, developed and sold
  355.         as a product by Kriya Systems from 1985 to 1989.
  356.         Several of us at The University of Chicago have
  357.         maintained Yerk since its demise as a product.
  358.         Because of the possible trademark conflict that
  359.         Kriya mentions, we picked the name Yerk, which is
  360.         at least not an acronym for anything, but rather
  361.         stands for Yerkes Observatory, part of the Department
  362.         of Astronomy and Astrophysics at U of C.
  363. updated:    ?
  364.  
  365. compiler generators and related tools
  366. -------------------------------------------------------------------------------
  367. category:    compiler generators and related tools
  368. description:    Yacc, and the rest of its family
  369.  
  370. language:    ABC
  371. package:    Grammar analysis tools
  372. version:    1
  373. parts:        analysis tools, samples, documentation
  374. author:        Steven Pemberton <Steven.Pemberton@cwi.nl>
  375. location:    ftp /pub/abc/examples/grammar/* from ftp.cwi.nl
  376.         or http://www.cwi.nl/~steven/abc/examples/grammar
  377. description:    Grammar analysis program written in ABC (q.v.) for
  378.         answering such questions as "what are the start
  379.         symbols of all rules", "what symbols can follow this
  380.         symbol", "which rules are left recursive", and so on.
  381.         Includes a grammar of ISO Pascal.
  382. reference:    Ftp archive includes an article explaining the package.
  383. ports:        unix, MSDOS, atari, mac 
  384. contact:    Steven.Pemberton@cwi.nl
  385. updated:    1993/07/05
  386.  
  387. language:    ? attribute grammar ?
  388. package:    Alpha
  389. version:    pre-release
  390. parts:        semantic-analysis generator?, documentation(german)
  391. author:        Andreas Koschinsky <koschins@cs.tu-berlin.de>
  392. location:    from author
  393. description:    I have written a compiler generator. The generator is called
  394.         Alpha and uses attribute grammars as specification calculus.
  395.         Alpha is the result of a thesis at Technische Universitaet
  396.         Berlin. I am looking for someone who would like to test and use
  397.         Alpha.    Alpha generates compilers from a compiler
  398.         specification. This specification describes a compiler in
  399.         terminology of attribute grammars. Parser and Scanner are
  400.         generated by means of Bison and Flex.  Alpha generates an
  401.         ASE-evaluator (Jazayeri and Walter).  The documentation is in
  402.         german since it is a thesis at a german university.
  403. updated:    1993/02/16
  404.  
  405. language:    attribute-grammar extension of Yacc and Lex
  406. package:    Ox
  407. version:    G1.01
  408. parts:        Yacc/Lex/C preprocessor, tutorial, reference manual,
  409.         man page, examples, Ox-ready parsers (C, C++, Pascal, Ada,
  410.         Fortran)
  411. author:        Kurt Bischoff <bischoff@cs.iastate.edu>
  412. location:    ftp pub/ox/* from ftp.cs.iastate.edu
  413. description:    Ox generalizes the function of Yacc in the way that attribute
  414.         grammars generalize context-free grammars.  Ordinary Yacc and
  415.         Lex specifications may be augmented with definitions of
  416.         synthesized and inherited attributes written in C syntax.  Ox
  417.         checks these specifications for consistency and completeness,
  418.         and generates from them a program that builds and decorates
  419.         attributed parse trees.     Ox accepts a most general class of
  420.         attribute grammars.  The user may specify postdecoration
  421.         traversals for easy ordering of side effects such as code
  422.         generation.  Ox handles the tedious and error-prone details of
  423.         writing code for parse-tree management, so its use eases
  424.         problems of security and maintainability associated with that
  425.         aspect of translator development.  Ox is a preprocessor,
  426.         and extends the syntax and semantics of Yacc, Lex, and C.
  427. reference:    Most compiler textbooks have descriptions of attribute
  428.         grammars.
  429. features:    LALR(1), semantic-analyzer generation.
  430. bugs:        none known.  Report bugs to ox-project@cs.iastate.edu.
  431. restriction:    Use of Ox is free.  Ox-generated code is the property of
  432.         the Ox user.
  433. ports:        Unix
  434. contact:    ox-request@cs.iastate.edu
  435. updated:    1993/11/14
  436.  
  437. language:    attribute grammar
  438. package:    Rie
  439. version:    1.0.4
  440. parts:        compiler generator (Rie->C), attribute evaluator generator,
  441.         documentation, examples (PL/0 compiler, simple semantic
  442.         analyzer).
  443. author:        Masataka Sassa, Kazuhiro Kuroishi, Teruhisa Hirai and
  444.         Yoshiki Ohshima
  445. location:    ftp /pub/Rie/* from ftp.is.titech.ac.jp
  446. description:    Rie is a yet another compiler generator based on a
  447.         one-pass ECLR-attribnute grammar, a one-pass superset of
  448.         LR-attributed grammar.    It generates compilers comparable
  449.         in speed to handwritten compilers (about 1.8 times slower)
  450.         that can directly evaluate inherited and synthesized
  451.         attributes in parallel with LR parsing, without having to
  452.         create parse trees.  Rie has a YACC-like syntax, but with the
  453.         ability to define attribution rules, thus allowing a unified
  454.         treatment of the syntax and semantics.    Shorthand conditions,
  455.         context conditions and 'local' attributes are also processed.
  456. reference:    Sassa, M., Ishizuka, H., and Nakata, I.:
  457.         Rie, a Compiler Generator Based on a One-Pass
  458.         Attribute Grammar, Res. Rep. C-107, Dept. of Inf. Sci.,
  459.         Tokyo Institute of Technology
  460.         Contact rie-info@is.titech.ac.jp for hardcopy.
  461.         Electric version soon to be available at
  462.            ftp.is.titech.ac.jp in /pub/Rie/Papers/*.
  463. bugs:        Bug reports are welcome to rie-comments@is.titech.ac.jp.
  464. restriction:    Falls under version 2 of the GNU CopyLeft and the same
  465.         restrictions as Bison.
  466. ports:        UNIX, DOS, etc. (same as bison) and Sharp X68000
  467. contact:    rie-info@is.titech.ac.jp>
  468. updated:    1993/12/02
  469.  
  470. language:    BNF (Extended, actually a regular right part grammar)
  471. package:    Gray
  472. version:    4
  473. parts:        parser generator, documentation, examples
  474. author:        Martin Anton Ertl <anton@mips.complang.tuwien.ac.at>
  475. how to get:    ftp://server.complang.tuwien.ac.at/pub/forth/gray4.tar.gz
  476.         ftp://server.complang.tuwien.ac.at/pub/forth/gray4.zip
  477. description:    Gray is a parser generator written in Forth.  It takes 
  478.         grammars in an extended BNF and produces executable Forth 
  479.         code for recursive descent parsers.
  480. restrictions:    Copyleft
  481. requires:    ANS Forth
  482. conformance:    ANS Forth with some environmental dependences (see README)
  483. status:        supported
  484. ports:        Several ANS Forth Systems; mail author for old versions
  485.         running on Tile.
  486. updated:    1994/08/08
  487.  
  488. language:    BNF (??)
  489. package:    ZUSE
  490. version:    ?
  491. parts:        parser generator(?)
  492. author:        Arthur Pyster
  493. location:    ? Univ Calif at Santa Barbara ?
  494. description:    ll(1) paser generator
  495. requires:    Pascal
  496. updated:    1986/09/23
  497.  
  498. language:    BNF (??)
  499. package:    FMQ
  500. version:    ?
  501. parts:        paser generator w/error corrector generator
  502. author:        Jon Mauney
  503. location:    ftp from csczar.ncsu.edu
  504. description:    ?
  505. status:        ?
  506. contact:    ?
  507. updated:    1990/03/31
  508.  
  509. language:    BNF (??)
  510. package:    ATS (Attribute Translation System)
  511. version:    ?
  512. parts:        ?
  513. author:        ? University of Saskatchewan ?
  514. location:    ?
  515. description:    generates table-driven LL(1) parsers with full insert-only
  516.         error recovery.     It also handles full left-attribute semantic
  517.         handling, which is a dream compared to using YACC's parser
  518.         actions.
  519. status:        ?
  520. contact:    ? (suggested: Dave Bocking <bocking@cs.usask.ca>)
  521. updated:    1988/11/29
  522.  
  523. language:    BNF (Extended)
  524. package:    PCCTS (Purdue Compiler-Construction Tool Set)
  525. version:    1.31
  526. parts:        scanner generator, parser generator (pred-LL(k)), 
  527.         documentation, tutorial
  528. author:        Terence J. Parr <parrt@parr-research.com>, 
  529.         Will E. Cohen <cohenw@ecn.purdue.edu>, 
  530.         Henry G. Dietz <hankd@ecn.purdue.edu>,
  531.         Russell W. Quong <quong@ecn.purdue.edu>
  532. location:    ftp pub/pccts/* from ftp.parr-research.com
  533.     UK:        ftp computing/programming/languages/tools/pccts/* 
  534.         from src.doc.ic.ac.uk
  535. description:    PCCTS is similar to a highly integrated version of 
  536.         YACC and LEX; where ANTLR (ANother Tool for Language 
  537.         Recognition) corresponds to YACC and DLG (DFA-based 
  538.         Lexical analyzer Generator) functions like LEX.
  539.         PCCTS grammars contain specifications for lexical and 
  540.         syntactic analysis with selective backtracking 
  541.         ("infinite lookahead"), semantic predicates,
  542.         intermediate-form construction and sophisticated
  543.         parser exception handling.  Rules may employ Extended BNF 
  544.         (EBNF) grammar constructs and may define parameters, 
  545.         return values and local variables. Languages described in 
  546.         PCCTS are recognized via predicated-LL(k) parsers 
  547.         constructed in pure, human-readable, C/C++ code; the C++ 
  548.         programming interface is very good.  The documentation is 
  549.         complete, but distributed over an original manual plus
  550.         multiple release notes.     A book is in the works and should 
  551.         be available Fall 1995.
  552.         A recently-developed PCCTS-based C++ parser is available 
  553.         at the ftp site; it is an *initial* release and was 
  554.         derived from the grammar built by NeXT, Inc..
  555. restriction:    The tool is totally public domain--it has no legal 
  556.         restrictions on its use or incorporation into commercial 
  557.         applications.
  558. ports:        Unix, DOS, Windows, OS/2, Macintosh, NeXT
  559. portability:    very high
  560. discussion:    comp.compilers.tools.pccts
  561. contact:    Terence J. Parr <parrt@acm.org>
  562. updated:    1995/04/05
  563.  
  564. language:    BNF (very extended), yacc
  565. package:    PRE-CC Xtended
  566. version:    2.30
  567. parts:        library, parser generator (LL(oo)), translator(yacc->)
  568. author:        Peter Breuer
  569. location:    FTP: ftp.comlab.ox.ac.uk:/pub/Programs/preccx.tar.Z (Unix)
  570.              ftp.comlab.ox.ac.uk:/pub/Programs/preccx.msdos (MS-DOS)
  571.              ftp.comlab.ox.ac.uk:
  572.             /pub/Documents/techpapers/Jonathan.Bowen/preccx-uug.ps.Z
  573.         (more recent versions available by subscription)
  574.         URL: http://www.comlab.ox.ac.uk/archive/redo/precc.html
  575. description:    PRECCX is an infinite-lookahead compiler compiler for context
  576.         dependent grammars.  The generated code is ANSI C.
  577.         Specification scripts are in very EBNF with inherited and
  578.         synthetic attributes allowed. Scripts can be compiled in
  579.         separate modules, and linked together later.  Meta-production
  580.         rules allowed.    The technology is essentially LL(oo) with
  581.         optimizations. A converter for yacc scripts is available.
  582. reference:    "The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen.
  583.          In E. Davies and A. Findlay (eds.),
  584.          Proc. UKUUG/SUKUG Joint New Year 1993 Conference,
  585.          St. Cross Centre, Oxford, UK, 6-8 January 1993,
  586.          ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6 (SUKUG)
  587.          UKUUG/SUKUG Secretariat, Owles Hall, Buntingford,
  588.          Herts SG9 9PL, UK, pp 167-182, 1993.
  589.         "A PREttier Compiler-Compiler: Generating Higher Order
  590.          Parsers in C"    P.T. Breuer and J.P. Bowen.
  591.          Oxford University Computing Laboratory Technical Report
  592.          PRG-TR-20-92, 25pp, November 1992. Accepted by
  593.          Software - Practice and Experience, 1994.
  594.          ftp pub/Documents/techreports/TR-20-92.ps.Z 
  595.          from ftp.comlab.ox.ac.uk
  596. ports:        unix, MS-DOS
  597. contact:    Peter Breuer <ptb@comlab.ox.ac.uk>,
  598.         Jonathan Bowen <bowen@comlab.ox.ac.uk>
  599. updated:    1994/06/02
  600.  
  601. language:    BNF (??)
  602. package:    LLGen
  603. version:    ?
  604. parts:        parser generator
  605. author:        ? Fischer and LeBlanc ?
  606. location:    ? ftp from csczar.ncsu.edu ?
  607. description:    LL(1) parser generator
  608. conformance:    subset of FMQ
  609. reference:    "Crafting A Compiler", by Fischer and LeBlanc
  610. status:        ?
  611. contact:    ?
  612. updated:    1990/03/31
  613.  
  614. language:    BNF
  615. package:    wacco
  616. version:    1.1, July 91
  617. parts:        parser generator
  618. author:        Parag Patel (parag@netcom.com, parag@sde.hp.com)
  619. location:    comp.sources.misc volume ?
  620. description:    Wacco is a recursive descent LL(1) parser generator that
  621.         generates C++ code.  Its syntax is similar to YACC
  622.         with a lot of sugaring.     It can also do attribute-driven
  623.         parsing.  The source is bootstrapped wacco code.
  624. ports:        HP-UX s300 and s800, Sparc, and 4.3BSD (on HP)
  625. portability:    Host machine must be 32 bits.
  626. contact:    ?
  627. updated:    ?
  628.  
  629. language:    BNF (Extended), BNF (yacc)
  630. package:    GMD Toolbox for Compiler Construction (aka Cocktail)
  631. version:    9209
  632. parts:        lalr: parser generator (LALR(1) -> C, Modula-2),
  633.         ell : parser generator (LL(1) -> C, Modula-2),
  634.         rex : scanner generator (-> C, Modula-2),
  635.         bnf : translator (Extended BNF -> BNF),
  636.         y2l : translator (BNF (yacc) -> Extended BNF),
  637.         ast : abstract syntax tree generator,
  638.         ag  : attribute-evaluator generator,
  639.         puma: transformation of abstract syntax tree using 
  640.               pattern-matching
  641.         documentation, examples
  642. author:        Josef Grosch <grosch@cocolab.sub.com> and others
  643. location:    ftp /gmd/cocktail from ftp.gmd.de           
  644.         ftp /pub/unix/programming/compilerbau 
  645.         from ftp.rus.uni-stuttgart.de
  646.         ftp /pub/programming/languages/compiler-compiler/cocktail 
  647.         from ftp.th-darmstadt.de     
  648.         ftp /languages/tools/gmd from src.doc.ic.ac.uk          
  649.         ftp /.3/plan/gmd from gatekeeper.dec.com      
  650.     OS/2:    ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo 
  651. description:    A huge set of compiler building tools. 
  652. requires:    (MS-DOS and MS-Windows only) DJ Delorie's DOS extender (go32)
  653.         (OS/2 only) emx programming environment for OS/2
  654. ports:        Unix, Linux, MS-DOS, MS-Windows, OS/2
  655. portability:    very high
  656. status:        version 9209 is unsupported, Cocktail is actively developed,
  657.         versions 9401 and higher are commercial
  658. discussion:    subscribe to Cocktail using listserv@eb.ele.tue.nl
  659. support:    Josef Grosch <grosch@cocolab.sub.com>
  660. contact:    Josef Grosch <grosch@cocolab.sub.com>
  661.     OS/2:    Willem Jan Withagen <wjw@eb.ele.tue.nl>
  662. updated:    1992/10/01
  663.  
  664. language:    BNF (??)
  665. package:    T-gen
  666. version:    2.1
  667. parts:        parser generator, documentation, ?
  668. author:        Justin Graver <graver@comm.mot.com>
  669. location:    ftp pub/st80_r41/T-gen2.1/* from st.cs.uiuc.edu
  670. description:    T-gen is a general-purpose object-oriented tool for the 
  671.         automatic generation of string-to-object translators. 
  672.         It is written in Smalltalk and lives in the Smalltalk 
  673.         programming environment.  T-gen supports the generation 
  674.         of both top-down (LL) and bottom-up (LR) parsers, which 
  675.         will automatically generate derivation trees, abstract 
  676.         syntax trees, or arbitrary Smalltalk objects.  The simple 
  677.         specification syntax and graphical user interface are 
  678.         intended to enhance the learning, comprehension, and 
  679.         usefulness of T-gen.
  680. requires:    Smalltalk-80
  681. ports:        ParcPlace Objectworks/Smalltalk 4.0 & 4.1
  682. updated:    1992/10/18
  683.  
  684. language:    BNF 
  685. package:    Eli Compiler Construction System
  686. version:    3.8
  687. parts:        scanner generator(regular expressions->C, C++), documentation
  688.         parser generator(LALR->C, C++), documentation
  689.         attribute grammar generator(LIDO->C, C++), documentation
  690.         definition table generator(PDL->C, C++), documentation
  691.         tree pattern-matcher generator(OIL->C, C++), documentation
  692.         unparser generator(PTG->C, C++), documentation
  693. author:        ?
  694. location:    ftp pub/cs/distribs/eli/* from ftp.cs.colorado.edu
  695.     Europe:    ftp unix/eli from ftp.uni-paderborn.de
  696.         or http://www.cs.colorado.edu/~eliuser
  697. description:    Eli integrates off-the-shelf tools and libraries with
  698.         specialized language processors to generate complete compilers
  699.         quickly and reliably.  It simplifies the development of new
  700.         special-purpose languages, implementation of existing languages
  701.         on new hardware and extension of the constructs and features of
  702.         existing languages.
  703. ports:        Sun-4 (SunOS 4 & 5), Ultrix/MIPS, RS/6000, HP-UX, SGI, Linux
  704. discussion:    <eli-request@cs.colorado.edu>
  705. bugs:        <elibugs@cs.colorado.edu>
  706. contact:    <compiler@cs.colorado.edu>, <compiler@uni-paderborn.de>
  707. updated:    1993/11/01
  708.  
  709. language:    BNF
  710. package:    tom (demo for Tomita Parsing algorithm)
  711. version:    1
  712. parts:        parser generator, parser interpreter, examples, documentation
  713. author:        Mark Hopkins <mark@omnifest.uwm.edu>
  714. location:    iecc.com in pub/files/tomita.tar.gz
  715.         alt.sources archive from October 4, 1993.
  716. description:    An implementation of the Tomita parsing algorithm using
  717.         LR(0) tables and dynamic programming.
  718. reference:    Kluwer '91, _Generalized LR Parsing_, Tomita ed., 0-7923-9201-9
  719.         "The Tomita Parsing Algorithm ...", comp.compilers May 20, 1994
  720. features:    Cyclic context free grammars are processed.
  721. portability:    System independent
  722. updated:    1994/10/03
  723.  
  724. language:    BNF (yacc)
  725. package:    NewYacc
  726. version:    1.0
  727. parts:        parser generator, documenation
  728. author:        Jack Callahan <callahan@mimsy.cs.umd.edu> 
  729. location:    ftp src/newyacc.1.0.*.Z from flubber.cs.umd.edu
  730. description:    [someone want to fill it in? --ed]
  731. reference:    see Dec 89 CACM for a brief overview of NewYacc.
  732. updated:    1992/02/10
  733.  
  734. language:    BNF (yacc)
  735. package:    bison
  736. version:    1.22
  737. parts:        parser generator, documentation
  738. author:        ? Robert Corbett and Richard Stallman <rms@gnu.mit.edu>
  739. location:    ftp bison-1.16.tar.Z from a GNU archive site
  740. description:    ?
  741. bugs:        bug-gnu-utils@prep.ai.mit.edu
  742. restriction:    !! will apply the GNU General Public License to *your* code !!
  743. ports:        unix, atari, ?
  744. updated:    1993/09/14
  745.  
  746. language:    BNF (yacc), Lex
  747. package:    Bison++ and Flex++
  748. version:    1.21-8 (bison), 2.3.8-7 (flex), 5 (flex++bison++misc)
  749. parts:        translator, documentation, postscript, examples, DOS binary
  750. author:        Alain Coetmeur <coetmeur@icdc.fr>
  751. location:    cse.unl.edu in ~ftp/pub/nandy/c++/tools/LATEST/*
  752.     Europe:    mirrored on ftp.th-darmstadt.de
  753. description:    A retargeting of bison-1 and flex 2.3 to C++, able to
  754.         generate classes.  As with Bison and Flex, these two tools
  755.         are independent but designed for mutual compatibility.
  756.         The version numbering has been changed for consistency with
  757.         Flex and Bison, so versions of flex3.0.x and bison2.x of this
  758.         package are are actually earlier versions, not later.
  759.         Examples are provided to help in getting started.
  760. conformance:    Mostly compatible with flex2.3 and bison 1 in C, apart
  761.         from the ability to generate classes.
  762. features:    Almost all symbol names can be redefined, parsers can be
  763.         shared in C and C++ in the same headers... very extensible...
  764.         flex++ support IOSTREAM and STDIO in C++.
  765. bugs:        Contact coetmeur@icdc.fr (current author and maintainer).
  766. restriction:    GNU License for bison++. Same as flex for flex++.
  767. ports:        SUNOS4, DOS, and same ports as Flex/Bison, Windows NT (tested)
  768. portability:    Larger memory model required on DOS (DOS binary supplied).
  769. status:        active, supported, might not support flex 2.4
  770. discussion:    coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++
  771. help:        coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++
  772.         for substantial problems.
  773. support:    see help, no commercial support. (volunteer ?)
  774. announcements:    mail list locally maintained by coetmeur@icdc.fr,
  775.         news: comp.compiler comp.lang.c++
  776. updated:    1994/02/07
  777. lref:        C
  778. lref:        C++
  779. lref:        Lex
  780. lref:        yacc
  781.  
  782. language:    BNF (yacc)
  783. package:    bison-A2.3
  784. version:    2.3 (corresponds to gnu bison 1.22)
  785. parts:        parser generator, C-parser, C++parser, documentation
  786. author:        Fred Hansen <wjh+@cmu.edu>
  787. location:    ftp://ftp.andrew.cmu.edu/pub/AUIS/bison/bison-A2.2.tar.gz
  788.         also in contrib/andrew on the XV11R6 distribution in 
  789.         directories overhead/bison, overhead/mkparser (but not the 
  790.         C++ version of the parser)
  791. description:    This is the standard gnu bison with a number of improvments:
  792.         license-free parsers for C and C++, only one external symbol
  793.         for each grammar, permits multiple grammars per application,
  794.         better error reports on the grammar.
  795. conformance:    grammars are the same as bison and yacc; but run-time errors
  796.         are handled differently, so semantic rules must be changed
  797. features:    tokens in the grammar can be expressed as ">=" instead of GE
  798. bugs:        send bugs to info-andrew-bugs@andrew.cmu.edu
  799. restriction:    none (unless you use the native gnu-bison parser)
  800. ports:        has been tested on most Unix platforms
  801. portability:    generation of names for temp files is system dependent.
  802. discussion:    info-andrew@andrew.cmu.edu   (mirrored to comp.soft-sys.andrew)
  803. support:    supported by the Andrew Consortium
  804. contributions:    your organization is invited to join the Andrew Consortium
  805.         info-andrew-request@andrew.cmu.edu
  806. updated:    1994/05/09
  807.  
  808. language:    BNF (yacc)
  809. package:    ? jaccl ?
  810. version:    ?
  811. parts:        parser generator
  812. author:        Dave Jones <djones@megatest.uucp>
  813. location:    ?
  814. description:    a LR(1) parser generator
  815. updated:    1989/09/08
  816.  
  817. language:    BNF (yacc)
  818. package:    byacc (Berkeley Yacc)
  819. version:    1.9
  820. parts:        parser generator
  821. author:        Robert Corbett <Robert.Corbett@eng.sun.com>
  822. location:    ftp pub/byacc.tar.1.9.Z from vangogh.CS.Berkeley.EDU
  823. description:    probably the best yacc variant around.    Previously known as
  824.         Zoo, and before that, as Zeus.
  825. updated:    1993/02/22
  826.  
  827. language:    BNF (yacc), Lex
  828. package:    Lex/Yacc for Turbo Pascal uploaded
  829. version:    ?
  830. parts:        parser generator, scanner generator, documentation?
  831. author:        ?
  832. location:    iecc.com (140.186.81.1) at pub/file/lyprg.zip.
  833. description:    Lex and Yacc retargeted to Pascal.
  834. contact:    ? dpoole@hydrogen.oscs.montana.edu (David Poole)
  835. updated:    1993/07/02
  836.  
  837. language:    BNF (yacc), Ada
  838. package:    aflex-ayacc
  839. version:    1.2a
  840. parts:        parser generator (Ada), scanner generator (Ada)
  841. author:        IRUS (Irvine Research Unit in Software)
  842. location:    ftp pub/irus/aflex-ayacc_1.2a.tar.Z from liege.ics.uci.edu
  843. description:    Lex and Yacc equivalents that produce Ada output
  844. announcements:    irus-software-request@ics.uci.edu
  845. contact:    irus-software-request@ics.uci.edu
  846. updated:    1993/01/06
  847.  
  848. language:    BNF (yacc), Perl
  849. package:    perl-byacc
  850. version:    1.8.2
  851. parts:        parser-generator(perl)
  852. author:        Rick Ohnemus <Rick_Ohnemus@Sterling.COM>
  853. location:    ftp local/perl-byacc.tar.Z from ftp.sterling.com
  854. description:    A modified version of byacc that generates perl code.  Has '-p'
  855.         switch so multiple parsers can be used in one program (C or
  856.         perl).
  857. portability:    Should work on most (?) Unix systems.  Also works with 
  858.         SAS/C 6.x on AMIGAs.
  859. updated:    1993/01/24
  860.  
  861. language:    BNF (yacc), Standard ML
  862. package:    New SML-Yacc and SML-Lex
  863. version:    ??
  864. parts:        ??
  865. author:        Andrew Appel <appel@tyrolia.princeton.edu>
  866. location:    princeton.edu in pub/ml, files mlyacc94.tar.Z, lexgen94.tar.Z.
  867. description:    ??
  868. updated:    1994/05/23
  869.  
  870. language:    BNF (variant), Icon
  871. package:    Ibpag2 (Icon-Based Parser Generation System 2)
  872. version:    1.2
  873. parts:        parser generator (Icon, SLR(1))
  874. author:        Richard L. Goerwitz <goer@midway.uchicago.edu>
  875. location:    comp.sources.misc volume 44
  876. description:    Ibpag2 is a parser generator for Icon.    It does most
  877.         of what you would expect.  Latest version can handle both
  878.         SLR(1) and even GLR (Tomita) grammars.
  879. ports:        unix
  880. portability:    ? (Unix dependencies?)
  881. updated:    1994/09/25
  882.  
  883. language:    BNF ?, Gofer
  884. package:    Ratatosk (?)
  885. version:    ?
  886. parts:        parser generatr (Gofer)
  887. author:        Torben AEgidius Mogensen <torbenm@diku.dk>
  888. location:    ftp pub/diku/dists/Ratatosk.tar.Z from ftp.diku.dk
  889. description:    Ratatosk is a SLR parser generator in Gofer (a Haskell variant)
  890.         that generates purely functional parsers (also in Gofer). Even
  891.         though the sematic value of a production is a function of the
  892.         attributes of its right-hand side (and thus apparently purely
  893.         synthesized), inherited attributes are easily simulated by
  894.         using higher order functions.
  895. ports:        ?
  896. updated:    ?
  897.  
  898. language:    BNF
  899. package:    lalr.ss - An LALR(1) parser generator
  900. version:    0.9 
  901. parts:        parser generator (->Scheme)
  902. author:        Mark Johnson <mj@cs.brown.edu>
  903. location:    ftp new/lalr.shar from the Scheme Repository
  904. description:    A LALR(1) parser generator in and for Scheme.
  905. requires:    Scheme
  906. updated:    1993/05/24
  907.  
  908. language:    BURS ?
  909. package:    Iburg
  910. version:    ?
  911. parts:        parser generator?
  912. author:        Christopher W. Fraser <cwf@research.att.com>, David R. Hanson
  913.         <drh@princeton.edu>, Todd A. Proebsting <todd@cs.arizona.edu>
  914. location:    ftp pub/iburg.tar.Z from ftp.cs.princeton.edu
  915. description:    Iburg is a program that generates a fast tree parser.  It is
  916.         compatible with Burg. Both programs accept a cost-augmented
  917.         tree grammar and emit a C program that discovers an optimal
  918.         parse of trees in the language described by the grammar. They
  919.         have been used to construct fast optimal instruction selectors
  920.         for use in code generation.  Burg uses BURS; Iburg's matchers
  921.         do dynamic programming at compile time.
  922. updated:    1993/02/10
  923.  
  924. language:    BNF variant, Python
  925. package:    kwParsing ?
  926. version:    ?
  927. parts:        parser generator
  928. author:        Aaron Watters <aaron@vienna.njit.edu>
  929. location:    ftp pub/python/kwParsing.* from ftp.markv.com
  930. description:    A parser generator written in Python for Python.  This package
  931.         may be appropriate for experimental translators, code
  932.         generators, interpreters, or compilers; for instructinal
  933.         purposes; among other possibility.  The documentation gives a
  934.         brief introduction to the conventions and basic ideas of
  935.         parsing.
  936. updated:    1994/09/24
  937.  
  938. language:    Candle, IDL (Interface Description Language)
  939. package:    Scorpion System
  940. version:    6.0
  941. parts:        software development environment for developing
  942.         software development environments, documentation
  943. author:        University of Arizona
  944. location:    ftp scorpion/* from cs.arizona.edu
  945. description:    20 tools that can be used to construct specialized
  946.         programming environments.
  947.         The Scorpion Project was started by Prof. Richard
  948.         Snodgrass as an outgrowth of the SoftLab Project (which pro-
  949.         duced the IDL Toolkit) that he started when he was at the
  950.         University of North Carolina.  The Scorpion Project is
  951.         directed by him at the University of Arizona and by Karen
  952.         Shannon at the University of North Carolina at Chapel Hill.
  953. reference:    "The Interface Description Language: Definition and Use," 
  954.         by Richard Snodgrass, Computer Science Press, 1989,
  955.         ISBN 0-7167-8198-0
  956. ports:        Sun-3, Sun-4, Vax, Decstation, Iris, Sequent, HP9000
  957. discussion:    info-scorpion-request@cs.arizona.edu
  958. contact:    scorpion-project@cs.arizona.edu
  959. updated:    1993/11/04
  960.  
  961. language:    COCOL (EBNF variant)
  962. package:    COCO/R
  963. version:    1.36
  964. parts:        parser generator(LL(1))
  965. author:        Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
  966.         Port to Modula-2 done by Marc Brandis, Christof Brass 
  967.         and Pat Terry <cspt@alpha.ru.ac.za>
  968. location:    neptune.inf.ethz.ch:/pub/Coco
  969.         ftp.psg.com:/pub/modula-2/coco
  970.         cs.ru.ac.za:/pub/coco
  971.         pluto.fit.qut.edu.au:/pub/coco
  972. description:    Coco/R generates recursive descent parsers and their associated
  973.         scanners from attributed grammars.  Coco/R can bootstrap itself
  974.         to generate its own driver, parser, scanner, and semantic
  975.         evaluator from the attributed grammar CR.ATG.  This grammar
  976.         thus serves as an an example of how to write compiler
  977.         descriptions for Coco.    There are also other simpler examples
  978.         showing its use.
  979. reference:    _A compiler generator for microcomputers_, by Rechenberg 
  980.         and Mossenbock (Prentice Hall, 1989, 0-13-155136-1)
  981. bugs:        MS-DOS related versions: Pat Terry <cspt@alpha.ru.ac.za>
  982.         Other: Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
  983. requires:    Oberon or Modula-2
  984. ports:        MS-DOS: TopSpeed Modula-2; FST 2.0; FST 3.1; StonyBrook
  985.         QuickMod 2.2; Logitech 3.03.  Macintosh: Apple MacMeth
  986. status:        Oberon version is freely available?, Modula-2 version is
  987.         free to academic sites; commercial use requires a license
  988. updated:    1994/06/23
  989.  
  990. language:    COCOL (EBNF variant)
  991. package:    coco/R
  992. version:    1.03
  993. parts:        parser generator(LL(1))
  994. description:    A C version of COCO/R
  995. updated:    1994/11/10
  996.  
  997. language:    EAG (Extended Affix Grammar)
  998. package:    EAG
  999. version:    first public release
  1000. parts:        recognizer generator, transduccer generator, 
  1001.         translator generator, editor generator, documentation
  1002. author:        Marc Seutter <marcs@cs.kun.nl>
  1003. location:    ftp pub/eag/* from hades.cs.kun.nl
  1004. description:    The Extended Affix Grammar formalism, or EAG for short, is a
  1005.         formalism for describing both the context free and the context
  1006.         sensitive syntax of languages.    EAG is a member of the family
  1007.         of two-level grammars. They are very closely related to
  1008.         two-level van Wijngaarden grammars.  The EAG compiler will
  1009.         generate either a recognizer or a transducer or a translator
  1010.         or a syntax directed editor for a language described in the EAG
  1011.         formalism.
  1012. updated:    1993/09/14
  1013.  
  1014. language:    EBNF
  1015. package:    ETO
  1016. version:    test version
  1017. parts:        parser, postscript document, examples
  1018. author:        Lin Li <china@bernina.ethz.ch>
  1019. location:    FTP: fi.ethz.ch under /pub/ETO/eto-09.*
  1020. description:    ETO is an object oriented universal syntax checker.  It takes
  1021.         an EBNF specification for a language and then uses it on an
  1022.         input file to check its syntax.
  1023. updated:    1994/06/03
  1024.  
  1025. language:    lex
  1026. package:    flex
  1027. version:    2.5.2
  1028. parts:        scanner generator
  1029. author:        Vern Paxson <vern@ee.lbl.gov>
  1030. location:    ftp flex-2.5.2.tar.Z from a GNU archive site or ftp.ee.lbl.gov
  1031. description:    A POSIX-compliant "lex" scanner generator.
  1032. bugs:        vern@ee.lbl.gov or bug-gnu-utils@prep.ai.mit.edu
  1033. updated:    1995/03/28
  1034.  
  1035. language:    Regular Expressions
  1036. package:    re2c
  1037. version:    alpha
  1038. parts:        translator (re->c)
  1039. author:        ?? peter@csg.uwaterloo.ca
  1040. location:    csg.uwaterloo.ca in /pub/peter/re2c.0.5.tar.gz
  1041. description:    A regular expression to C converter.
  1042. updated:    ?? 1994/04/29
  1043.  
  1044. language:    Milarepa 
  1045. package:    Milarepa Perl/BNF Parser 
  1046. version:    Prototype 1.0
  1047. parts:        parser-generator, examples, tutorial
  1048. author:        Jeffrey Kegler <jeffrey@netcom.com>
  1049. location:    via anonymous ftp at
  1050.         alexia.lis.uiuc.edu:/pub/perl/marpa-1.0.tar.Z
  1051. description:    Milarepa takes a source grammar in the Milarepa language (a
  1052.         straightforward mix of BNF and Perl) and generates a Perl file,
  1053.         which, when enclosed in a simple wrapper, parses some third
  1054.         language described by the source grammar.
  1055.         This is intended to be a real hacker's parser.    It is not
  1056.         restricted to LR(k), and the parse logic follows directly from
  1057.         the BNF.  It handles ambiguous grammars, ambiguous tokens
  1058.         (tokens which were not positively identified by the lexer) and
  1059.         allows the programmer to change the start symbol.  The grammar
  1060.         may not be left recursive.  The input must be divided into
  1061.         sentences of a finite maximum length.  There is no fixed
  1062.         distinction between terminals and non-terminals, that is, a
  1063.         symbol can both match the input AND be on the left hand side of
  1064.         a production.  Multiple Marpa grammars are allowed in a single
  1065.         perl program.
  1066.         It's only a prototype primarily due to poor speed.  This is
  1067.         intended to be remedied after Perl 5.0 is out.
  1068. requires:    perl
  1069. updated:    1994/04/27
  1070.  
  1071. language:    Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, Prolog
  1072. package:    Tim Budd's C++ implementation of Kamin's interpreters
  1073. version:    ?
  1074. parts:        interpretors, documentation
  1075. author:        Tim Budd <budd@cs.orst.edu>
  1076. location:    ? ftp pub/budd/kamin/*.shar from cs.orst.edu ?
  1077. description:    a set of interpretors written as subclasses based on
  1078.         "Programming Languages, An Interpreter-Based Approach",
  1079.         by Samuel Kamin.
  1080. requires:    C++
  1081. status:        ? 
  1082. contact:    Tim Budd <budd@fog.cs.orst.edu>
  1083. updated:    1991/09/12
  1084.  
  1085. language:    Relation Grammar
  1086. package:    rl
  1087. version:    ?
  1088. parts:        ?
  1089. author:        Kent Wittenburg <kentw@bellcore.com>
  1090. location:    fto rl/* from flash.bellcore.com
  1091. description:    The RL files contain code for defining Relational Grammars and
  1092.         using them in a bottom-up parser to recognize and/or parse
  1093.         expressions in Relational Languages.  The approach is a
  1094.         simplification of that described in Wittenburg, Weitzman, and
  1095.         Talley (1991), Unification-Based Grammars and Tabular Parsing
  1096.         for Graphical Languages, Journal of Visual Languages and
  1097.         Computing 2:347-370.
  1098.         This code is designed to support the definition and parsing of
  1099.         Relational Languages, which are characterized as sets of
  1100.         objects standing in user-defined relations.  Correctness and
  1101.         completeness is independent of the order in which the input is
  1102.         given to the parser.  Data to be parsed can be in many forms as
  1103.         long as an interface is supported for queries and predicates
  1104.         for the relations used in grammar productions.    To date, this
  1105.         software has been used to parse recursive pen-based input such
  1106.         as math expressions and flowcharts; to check for data
  1107.         integrity and design conformance in databases; to
  1108.         automatically generate constraints in drag-and-drop style
  1109.         graphical interfaces; and to generate graphical displays by
  1110.         parsing relational data and generating output code.
  1111. requires:    Common Lisp
  1112. ports:        Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0
  1113. updated:    1992/10/31
  1114.  
  1115. language:    S/SL (Syntax Semantic Language)
  1116. package:    ssl
  1117. version:    ?
  1118. parts:        parser bytecode compiler, runtime
  1119. author:        Rick Holt, Jim Cordy <cordy@qucis.queensu.ca> (language),
  1120.         Rayan Zachariassen <rayan@cs.toronto.edu> (C implementation)
  1121. location:    ftp pub/ssl.tar.Z from neat.cs.toronto.edu
  1122. description:    A better characterization is that S/SL is a language
  1123.         explicitly designed for making efficient recusive-descent
  1124.         parsers.  Unlike most other languages, practicially the
  1125.         LEAST expensive thing you can do in S/SL is recur.  A
  1126.         small language that defines input/output/error token
  1127.         names (& values), semantic operations (which are really
  1128.         escapes to a programming language but allow good
  1129.         abstration in the pseudo-code), and a pseudo-code
  1130.         program that defines a grammar by the token stream the
  1131.         program accepts.  Alternation, control flow, and
  1132.         1-symbol lookahead constructs are part of the
  1133.         language.  What I call an S/SL "implementation", is a
  1134.         program that compiles this S/SL pseudo-code into a
  1135.         table (think byte-codes) that is interpreted by the
  1136.         S/SL table-walker (interpreter).  I think the pseudo-code
  1137.         language is LR(1), and that the semantic mechanisms turn it
  1138.         into LR(N) relatively easily.
  1139.         + more powerful and cleaner than yac
  1140.         - slower than yacc
  1141. reference:    Cordy, J.R. and Holt, R.C. [1980] Specification of S/SL:
  1142.          Syntax/Semantic Language, Computer Systems Research
  1143.          Institute, University of Toronto.
  1144.         "An Introduction to S/SL: Syntax/Semantic Language" by
  1145.          R.C. Holt, J.R. Cordy, and D.B. Wortman, in ACM Transactions
  1146.          on Programming Languages and Systems (TOPLAS), Vol 4, No.
  1147.         2, April 1982, Pages 149-178.
  1148. updated:    1989/09/25
  1149.  
  1150. language:    TXL
  1151. package:    TXL: Tree Transformation Language
  1152. version:    7.4
  1153. parts:        translator, documentation, tutorial, examples
  1154. author:        Jim Cordy <cordy@qucis.queensu.ca>
  1155. location:    ftp pub/txl/* from ftp.qucis.queensu.ca
  1156. description:    TXL is a language for performing source to source
  1157.         transformations and is well suited for rapidly prototyping
  1158.         new languages and language processors.    It has also been used to
  1159.         prototype specification languages, command languages, and more
  1160.         traditional program transformation tasks such as constant
  1161.         folding, type inference, source optimization and reverse
  1162.         engineering.  TXL takes as input an arbitrary context-free
  1163.         grammar in extended BNF-like notation, and a set of
  1164.         show-by-example transformation rules to be applied to inputs
  1165.         parsed using the grammar.  TXL is a functional/rule-based
  1166.         hybrid programming language, using the paradigm of structural
  1167.         transformation.
  1168. reference:    Several listed in software documentation
  1169. updated:    1993/08/04
  1170.  
  1171. language:    BNF (extended)
  1172. package:    SORCERER: A Simple Tree Parser Generator
  1173. version:    1.01
  1174. parts:        translator, documentation, tutorial, examples
  1175. author:        Terence Parr <parrt@s1.arc.umn.edu>
  1176. location:    ftp pub/pccts/sorcerer/* from marvin.ecn.purdue.edu
  1177. description:    SORCERER is more suitable for the class of translation problems
  1178.         lying between those solved by code-generator generators and by
  1179.         full source-to-source translator generators.  SORCERER
  1180.         generates simple, flexible, top-down, tree parsers that, in
  1181.         contrast to code-generators, may execute actions at any point
  1182.         during a tree walk.  SORCERER accepts extended BNF notation,
  1183.         allows predicates to direct the tree walk with semantic and
  1184.         syntactic context information, and does not rely on any
  1185.         particular intermediate form, parser generator, or other
  1186.         pre-existing application.
  1187. reference:    Several listed in software documentation
  1188. discussion:    send mail with a body of "subscribe pccts-users your_name" to
  1189.         pccts-users@ahpcrc.umn.edu. "your_name" can be email, or full.
  1190. help:        from mailing list
  1191. support:    actively supported, from mailing list
  1192. updated:    ? 1994/06/15
  1193.  
  1194. mathematical tools and languages
  1195. -------------------------------------------------------------------------------
  1196. category:    mathematical tools and languages
  1197. description:    These are either special-purpose languages and tools, or
  1198.         general purpose languages and tools that have traditionally
  1199.         been used for mathematical and scientific computing task.
  1200. lref:        Fortran
  1201. lref:        PCN
  1202. lref:        CLP
  1203. lref:        SISAL 1.2
  1204.  
  1205. language:    APL
  1206. package:    I-APL
  1207. version:    ?
  1208. parts:        ?
  1209. author:        ?
  1210. location:    ftp languages/apl/* from watserv1.waterloo.edu
  1211. description:    ?
  1212. updated:    1992/07/06
  1213.  
  1214. language:    APL
  1215. package:    APLWEB
  1216. version:    ?
  1217. parts:        translator(web->apl), translator(web->TeX)
  1218. author:        Dr. Christoph von Basum <CvB@erasmus.hrz.uni-bielefeld.de>
  1219. location:    ftp languages/apl/aplweb/* from watserv1.uwaterloo.ca
  1220. description:    [Should this be listed with the Web entries? -- Ed.]
  1221. updated:    1992/12/07
  1222.  
  1223. language:    APL
  1224. iref:        (APL) Tim Budd's C++ implementation of Kamin's interpreters
  1225.  
  1226. language:    J
  1227. package:    J-mode
  1228. version:    ?
  1229. parts:        emacs macros
  1230. author:        ?
  1231. location:    ftp pub/j/gmacs/j-interaction-mode.el from think.com
  1232. description:    add on to J
  1233. updated:    1991/03/04
  1234.  
  1235. language:    RLaB language (math manipulation - MATLAB-like)
  1236. package:    RLaB
  1237. version:    1.18d
  1238. parts:        interpreter, libraries, documentation
  1239. author:        Ian Searle <ians@eskimo.com>
  1240. location:    ftp pub/RLaB/* from evans.ee.adfa.oz.au
  1241.     US:        csi.jpl.nasa.gov in /pub/matlab/RLaB
  1242. description:    RLaB is a "MATLAB-like" matrix-oriented programming
  1243.         language/toolbox.  RLaB focuses on creating a good experimental
  1244.         environment (or laboratory) in which to do matrix math
  1245.         Currently RLaB has numeric scalars and matrices (real and
  1246.         complex), and string scalars, and matrices. RLaB also contains
  1247.         a list variable type, which is a heterogeneous associative
  1248.         array.
  1249. bugs:        Ian Searle <ians@eskimo.com>
  1250. restriction:    GNU General Public License
  1251. requires:    GNUPLOT, lib[IF]77.a (from f2c)
  1252. ports:        many unix, OS/2, Amiga
  1253. updated:    1995/03/16
  1254.  
  1255. language:    octave language (math manipulation - MATLAB-like)
  1256. package:    octave
  1257. version:    1.1.1
  1258. parts:        interpreter, libraries, documentation
  1259. author:        John W. Eaton
  1260. location:    ftp /pub/octave/* from ftp.che.utexas.edu
  1261.         also, any GNU archive site (see archive listing below)
  1262. description:    Octave is a high-level language, primarily intended for
  1263.         numerical computations.     It provides a convenient command line
  1264.         interface for solving linear and nonlinear problems
  1265.         numerically.
  1266.         Octave can do arithmetic for real and complex scalars and
  1267.         matrices, solve sets of nonlinear algebraic equations,
  1268.         integrate functions over finite and infinite intervals, and
  1269.         integrate systems of ordinary differential and
  1270.         differential-algebraic equations.
  1271. bugs:        bug-octave@che.utexas.edu
  1272. restriction:    GNU General Public License
  1273. requires:    gnuplot, C++ compiler and FORTRAN compiler or f2c translator.
  1274. ports:        several
  1275. updated:    1994/2/23
  1276.  
  1277. language:    FUDGIT language (math manipulation)
  1278. package:    FUDGIT
  1279. version:    2.27
  1280. parts:        interpreter
  1281. author:        Thomas Koenig <ig25@rz.uni-karlsruhe.de> ??
  1282. location:    ftp /pub/linux/sources/usr.bin/fudgit-* from tsx-11.mit.edu ??
  1283. description:    FUDGIT is a double-precision multi-purpose fitting program.  It
  1284.         can manipulate complete columns of numbers in the form of
  1285.         vector arithmetic. FUDGIT is also an expression language
  1286.         interpreter understanding most of C grammar except pointers.
  1287.         Morever, FUDGIT is a front end for any plotting program
  1288.         supporting commands from stdin. It is a nice mathematical
  1289.         complement to GNUPLOT, for example.
  1290. requires:    GNUPLOT
  1291. ports:        AIX, HPUX, Linux, IRIX, NeXT, SunOS, Ultrix
  1292. updated:    1993/02/22
  1293.  
  1294. language:    Unix BC (arbitrary-precision arithmetic language)
  1295. package:    C-BC
  1296. version:    1.1
  1297. parts:        bytecode compiler, interpreter, documentation, examples
  1298. author:        Mark Hopkins <mark@omnifest.uwm.edu>
  1299. location:    alt.sources (10/04/93), or contact author by E-mail.
  1300. description:    A strongly typed version of BC with expanded C-like syntax,
  1301.         more base types, with ability to form array and pointer types
  1302.         of any dimension and to allocate/free arrays at run-time.
  1303. conformance:    Most POSIX-BC features supported, except functions must be
  1304.         declared consistently and declared before first use.  String
  1305.         handling slightly different.
  1306. reference:    C-BC implementation notes contained with software documentation
  1307. requires:    ANSI-C compiler
  1308. ports:        DOS, Unix
  1309. portability:    No system dependent features present.
  1310. updated:    1993/08/23
  1311.  
  1312. language:    Unix BC (arbitrary-precision arithmetic language)
  1313. package:    GNU BC
  1314. version:    1.02
  1315. parts:        parser (yacc), interpreter, BC math library
  1316. author:        Philip A. Nelson <phil@cs.wwu.edu>
  1317. location:    ftp bc-1.02.tar.Z from a GNU archive site
  1318. description:    BC is an arbitrary precision numeric processing language with a
  1319.         C-like syntax that traditionally provided a front-end to DC.
  1320.         This version, however, is self-contained and internally
  1321.         executes its own compiled code (unrelated to DC code).
  1322. conformance:    Superset of POSIX BC (P10003.2/D11), with a POSIX-only mode.
  1323. restriction:    Source code falls under the GNU CopyLeft.
  1324. requires:    vsprintf and vfprintf routines
  1325. ports:        Unix (BSD, System V, MINIX, POSIX)
  1326. updated:    ?
  1327.  
  1328. language:    Calc?  (symbolic math calculator)
  1329. package:    Calc
  1330. version:    2.02
  1331. parts:        interpreter, emacs mode, documentation
  1332. author:        Dave Gillespie <daveg@cs.caltech.edu>
  1333. location:    ftp calc-2.02.tar.z from a GNU archive site
  1334. description:    Calc is an extensible, advanced desk calculator and
  1335.         mathematical tool written in Emacs Lisp that runs as part of
  1336.         GNU Emacs.  It is accompanied by the "Calc Manual", which
  1337.         serves as both a tutorial and a reference.  If you wish, you
  1338.         can use Calc as only a simple four-function calculator, but it
  1339.         also provides additional features including choice of algebraic
  1340.         or RPN (stack-based) entry, logarithms, trigonometric and
  1341.         financial functions, arbitrary precision, complex numbers,
  1342.         vectors, matrices, dates, times, infinities, sets, algebraic
  1343.         simplification, differentiation, and integration.
  1344. bugs:        ?
  1345. updated:    ?
  1346.  
  1347. language:    C-like caluculator
  1348. package:    Arbitrary precision calculator
  1349. version:    1.26.4
  1350. parts:        interpreter
  1351. author:        David I. Bell <dbell@canb.auug.org.au>
  1352. location:    ftp pub/calc from ftp.uu.net
  1353. description:    Arbitrary precision C-like calculator [similar to BC? --ed]
  1354. ports:        Linux
  1355. updated:    1993/06/15
  1356.  
  1357. language:    Unix DC (arbitrary-precision arithmetic language)
  1358. package:    GNU DC
  1359. version:    0.2
  1360. parts:        interpreter
  1361. author:        ?
  1362. location:    ftp dc-0.2.tar.Z from a GNU archive site
  1363. description:    DC is the language for an arbitrary precision postfix
  1364.         calculator.  This version is a subset of DC that handles all
  1365.         the Unix DC operations, except the (undocumented) array
  1366.         operations.
  1367. status:        Attempting integration with GNU BC.
  1368. updated:    1993/05/21
  1369.  
  1370. language:    Fortran
  1371. package:    f2c
  1372. version:    1993.04.28
  1373. parts:        translator (to C), postscript documentation, man pages,
  1374.         support libraries.
  1375. author:        S. I. Feldman, D. M. Gay, M. W. Maimone and N. L. Schryer
  1376. location:    ftp from netlib@research.att.com:netlib/f2c/src/*
  1377. description:    translator (Fortran 77 to ANSI C or C++)
  1378. bugs:        D. M. Gay <dmg@research.att.com>
  1379. updated:    1993 April 27
  1380.  
  1381. language:    Fortran
  1382. package:    Floppy
  1383. version:    ?
  1384. parts:        ?
  1385. author:        ?
  1386. location:    ffccc in comp.sources.misc archive volume 12
  1387. description:    ?
  1388. contact:    ?
  1389. updated:    1992/08/04
  1390.  
  1391. language:    Fortran
  1392. package:    Flow
  1393. version:    ?
  1394. parts:        ?
  1395. author:        Julian James Bunn <julian@vxcrna.cxern.ch>
  1396. location:    comp.sources.misc archive volume 31
  1397. description:    The Flow program is a companion to Floppy, it allows the user
  1398.         to produce various reports on the structure of Fortran
  1399.         77 code, such as flow diagrams and common block tables.
  1400. requires:    Floppy
  1401. ports:        VMS, Unix, CMS
  1402. updated:    ?
  1403.  
  1404. language:    Fortran
  1405. package:    Adaptor (Automatic DAta Parallelism TranslatOR)
  1406. version:    1.0
  1407. parts:        preprocessor, library, documentation
  1408. author:        ?
  1409. location:    ftp gmd/adaptor/adp_1.0.tar.Z from ftp.gmd.de
  1410. description:    Adaptor is a tool that transforms data parallel
  1411.         programs written in Fortran with array extensions,
  1412.         parallel loops, and  layout directives    to parallel
  1413.         programs with explicit message passing.
  1414.         ADAPTOR is not a compiler but a source to source
  1415.         transformation that generates Fortran 77 host and
  1416.         node programs with message passing.  The new
  1417.         generated source codes have to be compiled by the
  1418.         compiler of the parallel machine.
  1419. ports:        CM-5, iPCS/860, Meiko CS1/CS2, KSR 1, SGI, Alliant,
  1420.         network of Suns, or RS/6000s
  1421. contact:    Thomas Brandes <brandes@gmd.de>
  1422. updated:    1993/06
  1423.  
  1424. language:    Fortran, C
  1425. package:    cfortran.h
  1426. version:    2.6
  1427. parts:        macros, documentation, examples
  1428. author:        Burkhard Burow
  1429. location:    ftp cfortran/* from zebra.desy.de
  1430. description:    cfortran.h is an easy-to-use powerful bridge between
  1431.         C and FORTRAN. It provides a completely transparent, machine
  1432.         independent interface between C and FORTRAN routines and
  1433.         global data.
  1434.         cfortran.h provides macros which allow the C preprocessor to
  1435.         translate a simple description of a C (Fortran) routine or
  1436.         global data into a Fortran (C) interface.
  1437. reference:    reviewed in RS/Magazine November 1992 and
  1438.         a user's experiences with cfortran.h are to be described
  1439.         in the 1/93 issue of Computers in Physics.
  1440. ports:        VAX VMS or Ultrix, DECstation, Silicon Graphics, IBM RS/6000,
  1441.         Sun, CRAY, Apollo, HP9000, LynxOS, f2c, NAG f90.
  1442. portability:    high
  1443. contact:    burow@vxdesy.cern.ch
  1444. updated:    1992/04/12
  1445.  
  1446. language:    Fortran
  1447. package:    fsplit
  1448. version:    ?
  1449. parts:        ?
  1450. author:        ?
  1451. location:    ?
  1452. description:    a tool to split up monolithic fortran programs
  1453. updated:    ?
  1454.  
  1455. language:    Fortran
  1456. package:    ?
  1457. version:    ?
  1458. parts:        ?
  1459. author:        Steve Mccrea <mccrea@gdwest.gd.com>
  1460. location:    ?
  1461. description:    a tool to split up monolithic fortran programs
  1462. requires:    new awk
  1463. updated:    ?
  1464.  
  1465. language:    Fortran
  1466. package:    Fortran77 -> Fortran90 converter
  1467. version:    ? 1
  1468. parts:        translator(Fortran 77 -> Fortran 90), documentation?
  1469. author:        metcalf@cernvm.cern.ch <Michael Metcalf>
  1470. location:    ftp pub/MandR/convert.f90 from jkr.cc.rl.ac.uk
  1471. description:    A Fortran77 to Fortran90 translator.  There's a number of
  1472.         significant differences between the two Fortrans that makes
  1473.         a package like this useful.
  1474. updated:    1993/07/17
  1475.  
  1476. language:    Fortran
  1477. package:    F-curses
  1478. version:    ?
  1479. parts:        library
  1480. author:        Wade Schauer <sal!wade@sactoh0.sac.ca.us>
  1481. location:    comp.sources.misc volume 44
  1482. description:    F-curses (C) is a library of Fortran and C routines that gives
  1483.         Fortran programmers tranparent access to the curses library (a
  1484.         C library).
  1485. restriction:    shareware
  1486. ports:        UNIX, MS-DOS
  1487. updated:    1994/10/10
  1488.  
  1489. language:    Fortran
  1490. iref:        (Fortran) Stanford SUIF Compiler
  1491.  
  1492. language:    Fortran
  1493. package:    ?
  1494. version:    ?
  1495. parts:        semantic analyser
  1496. author:        ?
  1497. location:    http://www.nag.co.uk:70/
  1498. description:    Fortran 90 semantic analyser
  1499. updated:    ?
  1500.  
  1501. language:    J
  1502. package:    J from ISI
  1503. version:    6
  1504. parts:        interpreter, tutorial
  1505. author:        Kenneth E. Iverson and Roger Hui <hui@yrloc.ipsa.reuter.com>
  1506. location:    ftp languages/apl/j/* from watserv1.waterloo.edu
  1507. description:    J was designed and developed by Ken Iverson and Roger Hui.  It
  1508.         is similar to the language APL, departing from APL in using
  1509.         using the ASCII alphabet exclusively, but employing a spelling
  1510.         scheme that retains the advantages of the special alphabet
  1511.         required by APL. It has added features and control structures
  1512.         that extend its power beyond standard APL.  Although it can be
  1513.         used as a conventional procedural programming language, it can
  1514.         also be used as a pure functional programming language.
  1515. ports:        Dec, NeXT, SGI, Sun-3, Sun-4, VAX, RS/6000, MIPS, Mac, Acorn
  1516.         IBM-PC, Atari, 3b1, Amiga
  1517. updated:    1992/10/31
  1518.  
  1519. language:    Ratfor
  1520. package:    ? ratfor ?
  1521. version:    ?
  1522. parts:        translator(Ratfor->Fortran IV)
  1523. author:        Brian Kernighan and P.J. Plauger (wrote the book anyway)
  1524. location:    comp.sources.unix archives volume 13
  1525. description:    Ratfor is a front end language for Fortran.  It was designed
  1526.         to give structured control structures to Fortran.  It is
  1527.         mainly of historical significance.
  1528. updated:    ?
  1529.  
  1530. language:    Y (cross between C and Ratfor)
  1531. package:    y+po
  1532. version:    ?
  1533. parts:        compiler
  1534. author:        Jack W. Davidson and Christopher W. Fraser
  1535. location:    ftp pub/y+po.tar.Z from ftp.cs.princeton.edu
  1536. description:    Davidson/Fraser peephole optimizer PO [1-3] [where the GCC RTL
  1537.         idea and other optimization ideas came from] along with the Y
  1538.         compiler [cross between C+ratfor] is ftpable from
  1539.         ftp.cs.princeton.edu: /pub/y+po.tar.Z.    It is a copy of the
  1540.         original distribution from the University of Arizona during the
  1541.         early 80's, totally unsupported, almost forgotten [do not bug
  1542.         the authors] old code, possibly of interest to
  1543.         compiler/language hackers.
  1544. reference:    Jack W. Davidson and Christopher W. Fraser, "The Design and
  1545.          Application of a Retargetable Peephole Optimizer", TOPLAS, 
  1546.          Apr.  1980.
  1547.         Jack W. Davidson, "Simplifying Code Through Peephole
  1548.          Optimization" Technical Report TR81-19, The University of
  1549.          Arizona, Tucson, AZ, 1981.
  1550.         Jack W. Davidson and Christopher W. Fraser, "Register
  1551.          Allocation and Exhaustive Peephole Optimization"
  1552.          Software-Practice and Experience, Sep. 1984.
  1553. status:        history
  1554. updated:    ?
  1555.  
  1556. electrical engineering languages
  1557. -------------------------------------------------------------------------------
  1558. category:    electrical engineering languages
  1559. description:    These are languages used for simulating, designing, and
  1560.         specifying circuits.
  1561.  
  1562. language:    CASE-DSP (Computer Aided Software Eng. for Digital Signal Proc)
  1563. package:    Ptolemy
  1564. version:    0.4.1
  1565. parts:        grahpical algorithm layout, code generator, simulator
  1566. author:        ?
  1567. location:    ftp pub/ptolemy/* from ptolemy.bekeley.edu
  1568. description:    Ptolemy provides a highly flexible foundation for the
  1569.         specification, simulation, and rapid prototyping of systems.
  1570.         It is an object oriented framework within which diverse models
  1571.         of computation can co-exist and interact.  For example, using
  1572.         Ptolemy a data-flow system can be easily connected to a
  1573.         hardware simulator which in turn may be connected to a
  1574.         discrete-event system, etc.  Because of this, Ptolemy can be
  1575.         used to model entire systems.
  1576.         In addition, Ptolemy now has code generation capabilities.
  1577.         from a flow graph description, Ptolemy can generate both C code
  1578.         and DSP assembly code for rapid prototyping.  Note that code
  1579.         generation is not yet complete, and is included in the current
  1580.         release for demonstration purposes only.
  1581. requires:    C++, C
  1582. ports:        Sun-4, MIPS/Ultrix; DSP56001, DSP96002.
  1583. status:        active research project
  1584. discussion:    ptolemy-hackers-request@ohm.berkeley.edu
  1585. contact:    ptolemy@ohm.berkeley.edu
  1586. updated:    1993/04/22
  1587.  
  1588. language:    EDIF (Electronic Design Interchange Format)
  1589. package:    Berkeley EDIF200
  1590. version:    7.6
  1591. parts:        translator-building toolkit
  1592. author:        Wendell C. Baker and Prof A. Richard Newton of the Electronics
  1593.         Research Laboratory, Department of Electrical Engineering and
  1594.         Computer Sciences at the University of California, Berkeley, CA
  1595. location:    ftp from pub/edif in ic.berkeley.edu
  1596. description:    ?
  1597. restriction:    no-profit w/o permission
  1598. ports:        ?
  1599. updated:    1990/07
  1600.  
  1601. language:    Verilog, XNF
  1602. package:    XNF to Verilog Translator
  1603. version:    ?
  1604. parts:        translator(XNF->Verilog)
  1605. author:        M J Colley <martin@essex.ac.uk>
  1606. location:    ftp pub/dank/xnf2ver.tar.Z from punisher.caltech.edu
  1607. description:    This program was written by a postgraduate student as part
  1608.         of his M.Sc course, it was designed to form part a larger
  1609.         system operating with the Cadence Edge 2.1 framework. This
  1610.         should be born in mind when considering the construction
  1611.         and/or operation of the program.
  1612. updated:    ?
  1613.  
  1614. language:    VHDL
  1615. package:    ALLIANCE
  1616. version:    1.1
  1617. parts:        compiler, simulator, tools and environment, documentation
  1618. author:        ?
  1619. location:    ftp pub/cao-vlsi/alliance from ftp-masi.ibp.fr
  1620. description:    ALLIANCE 1.1 is a complete set of CAD tools for teaching
  1621.         Digital CMOS VLSI Design in Universities. It includes VHDL
  1622.         compiler and simulator, logic synthesis tools, automatic place
  1623.         and route, etc...  ALLIANCE is the result of a ten years effort
  1624.         at University Pierre et Marie Curie (PARIS VI, France).
  1625. ports:        Sun4, also not well supported: Mips/Ultrix, 386/SystemV
  1626. discussion:    alliance-request@masi.ibp.fr
  1627. contact:    cao-vlsi@masi.ibp.fr
  1628. updated:    1993/02/16
  1629.  
  1630. language:    VHDL
  1631. package:    VHDL Object Model (VOM)
  1632. version:    1.0
  1633. parts:        parser
  1634. author:        David Benz <dbenz@thor.ece.uc.edu> and 
  1635.         Phillip Baraona <pbaraona@thor.ece.uc.edu>
  1636. location:    ftp pub/vhdl/tools/vhdl-object-model.tar.g from thor.ece.uc.edu
  1637. description:    VOM 1.0 is an object-oriented syntactic specification for VHDL
  1638.         written using the REFINE software design and synthesis
  1639.         environment.  In simpler terms, it is a VHDL parser which builds 
  1640.         an object tree from VHDL source code.
  1641.         If you are interested in transforming VHDL into some other form
  1642.         (source code, whatever) you might be interested in this. The
  1643.         parse tree (in the form of an object tree) is provided, you would 
  1644.         just need to add your own transformations.
  1645.         VOM isn't complete. The semantic information is not included
  1646.         (type checking, certain syntactic-rules, etc.). VOM 1.0 should
  1647.         parse most VHDL programs.  However, it will not detect errors
  1648.         such as a wait statement in a process statement with an
  1649.         explicit sensitivity list.
  1650. updated:    1994/11/01
  1651.  
  1652. -- 
  1653. Send compilers articles to compilers@iecc.com,
  1654. meta-mail to compilers-request@iecc.com.
  1655.